import java.awt.Point;
import java.awt.geom.Point2D;
import java.util.Random;

/**
 * 
 * @author Group 202
 * 
 * Exercise 4.3 b
 *
 */

public class CalcPi {

	public static void main(String[] args) {
		int n = 1000000;
		
		// Den Punkt für das Zentrum erzeugen.
        Point center = new Point(0, 0);
        
        // Einen neuen "Einheitskreis" erzeugen.
        Circle c = new Circle(center, 1);
        Random random = new Random();
        
        int hits = 0;
        // Die Hits in dem Kreis zählen.
        for (int i = 0; i < n; i++) {
            Point2D.Double p = new Point2D.Double();
            p.x = random.nextDouble() * 2 - 1;
            p.y = random.nextDouble() * 2 - 1;
            if (c.contains(p)) hits++;
        }

    	double PI = (4.0 * ((double)hits/(double)n));

		System.out.printf("Von %d Versuchen haben %d den Einheitskreis" +
				" getroffen. PI ist näherungsweise: %f", n, hits, PI);
	}

}
